package cn.javaxc.mvcwork.util.common;

import java.util.*;
import java.io.*;
import java.net.*;
import cn.javaxc.mvcwork.controller.MVCConfig;

public class SMSMessage 
{ 
	//num 手机号
	//message 消息
	public static String sendSMS(String nums,String message){

		String result="";
		try{
			//String encode = "GBK"; //页面编码和短信内容编码为GBK。重要说明：如提交短信后收到乱码，请将GBK改为UTF-8测试。如本程序页面为编码格式为：ASCII/GB2312/GBK则该处为GBK。如本页面编码为UTF-8或需要支持繁体，阿拉伯文等Unicode，请将此处写为：UTF-8
			Map<String,String> map=MVCConfig.getConfig().getClassCfg(SMSMessage.class);
			String encode = "UTF-8";
			
			String username = map.get("username");  //用户名
			
			String password_md5 = map.get("password");  //密码
		
			String apikey = map.get("apikey");  //apikey秘钥（请登录 http://m.5c.com.cn 短信平台-->账号管理-->我的信息 中复制apikey）
			message+="【"+map.get("suffix")+"】";		
			//新建一个StringBuffer链接
			StringBuffer buffer = new StringBuffer();
			for (String num:nums.split("\n") ){
					num=num.trim();
					
					
					String contentUrlEncode = URLEncoder.encode(message,encode);  //对短信内容做Urlencode编码操作。注意：如
					
					//把发送链接存入buffer中，如连接超时，可能是您服务器不支持域名解析，请将下面连接中的：【m.5c.com.cn】修改为IP：【115.28.23.78】
					buffer.append("http://m.5c.com.cn/api/send/index.php?username="+username+"&password_md5="+password_md5+"&mobile="+num+"&apikey="+apikey+"&content="+contentUrlEncode+"&encode="+encode);
					
					//System.out.println(buffer); //调试功能，输入完整的请求URL地址
					
					//把buffer链接存入新建的URL中
					URL url = new URL(buffer.toString());

					//打开URL链接
					HttpURLConnection connection = (HttpURLConnection)url.openConnection();
					
					//使用POST方式发送
					connection.setRequestMethod("POST");

					//使用长链接方式
					connection.setRequestProperty("Connection", "Keep-Alive");
					
					//发送短信内容
					BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
					
					//获取返回值
					result = reader.readLine();
					
					//输出result内容，查看返回值，成功为success，错误为error，详见该文档起始注释								
			}			
		}catch(Exception e){
			throw new RuntimeException(e);
		}
		
		

		return result;
	}
	
}

